1. Field of the Invention
The present invention relates in general to computers, and more particularly to apparatus, method and computer program product embodiments for visualization-centric performance-based volume allocation in a data storage system.
2. Description of the Related Art
Computers and computer systems are found in a variety of settings in today's society. Computing environments and networks may be found at home, at work, at school, in government, and in other settings. Computing environments increasingly store data in one or more storage environments apart from the interface that computer users typically associate. In many cases, the storage environments are located across wide area networks (WANs), in which data is sent to/received from a storage system located remotely from the host. These storage environments generally include one or more data storage systems and related storage components. Typically, the data storage systems and storage components include multitudes of storage volumes over which a storage controller or storage controllers are responsible.
Performance-based volume allocation is the task of determining where to allocate volumes for a workload based on the workload profile in terms of space and performance requirements and the current performance numbers at the various components of the storage controllers. This task becomes more challenging as the storage sizes keep increasing with an increasing number of disks per controller and an increasing number of controllers. Current single controller algorithms do not scale well with the increasing sizes and hence are not suitable for large dynamic storage control scenarios. Furthermore, conventional controller algorithms introduce large variances among system components.
Current storage controllers are sophisticated devices that can be modeled as a hierarchy of components where each component has its performance constraints. By modeling the storage controller as a hierarchy of components, dependencies between the hardware components in a storage controller may be captured. The current space and performance numbers for each component are obtained to ensure that no component in the hierarchy is overloaded; overloading of a single component in the hierarchy can disrupt workloads assigned to the storage pools associated with the component. Workload profiles for new workloads may be used to predict the space and performance requirements for new workloads. Other factors such as minimum and maximum permissible or required logical volume sizes can also impact the workload assignment decision-making process. The existing performance numbers along with the workload profiles and other factors mentioned above may be taken into account to determine suitable storage controller components for creating volumes for allocating the new workloads.
Conventional volume allocation in a data storage system having a hierarchy of storage components including the aforementioned storage controllers using the methodologies previously described has traditionally been that of the “black box” variety. In other words, given a set of inputs, a conventional algorithm for storage volume allocation is utilized to generate one or more outputs of where to allocate and how much. This black box functionality may cause a variety of questions to arise among users of the storage system, such information technology (IT) administrators. Some of these questions may relate to trusting the output provided, concerns as to whether better options are available, questions relating to the support behind the output decision, and the like.